package com.neouton.crm.generalPayRequest.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neouton.common.util.PageUtil;
import com.neouton.crm.entity.SysUserEntity;
import com.neouton.crm.generalPayRequest.entity.GeneralPayRequest;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface GeneralPayRequestService {


    PageUtil<GeneralPayRequest> queryGeneralPayRequestList(IPage<GeneralPayRequest> page, GeneralPayRequest paymentRequest, List<SysUserEntity> userList, String token);

    GeneralPayRequest saveGeneralPayRequest(GeneralPayRequest managerPayRequest, String token);

    List<GeneralPayRequest> queryGeneralPayRequestMoney(GeneralPayRequest managerPayRequest);

    boolean rejectionGeneralPayRequest(GeneralPayRequest entity, String token);

    boolean approvedGeneralPayRequest(GeneralPayRequest entity, String token, boolean auto);

    GeneralPayRequest queryGeneralPayRequestHistory(Integer approvalId);

    List<GeneralPayRequest> queryPaymentRequestListInfo(GeneralPayRequest entity, List<SysUserEntity> userList, String token);

    void exportPaymentRequestInfo(HttpServletResponse response, List<GeneralPayRequest> list, String token) throws Exception;

    PageUtil<GeneralPayRequest> queryGeneralPayRequestApprovalList(IPage<GeneralPayRequest> page, GeneralPayRequest managerPayRequest, String token);


    Boolean deletePayedRequestById(Integer payRequestId);

    void updatePrIsNotById(Integer payRequestId);
}
